
/*
 * author 李华胜<yehong0000@163.com , www.lihuasheng.com>
 */
$(function () {
	load(45);
    $('#main').on('click','.paer',function(){
    	 $( this ).css( 'z-index', 1 ).siblings().css( 'z-index', 0 );
    });
    
    $('#main').on('click','.close',function(){
    	 $( this ).parents( 'dl' ).fadeOut('slow');
         return false;
   });


    $( '#send' ).click( function () {
        $( '<div id="windowBG"></div>' ).css( {
            width : $(document).width(),
            height : $(document).height(),
            position : 'absolute',
            top : 0,
            left : 0,
            zIndex : 998,
            opacity : 0.3,
            filter : 'Alpha(Opacity = 30)',
            backgroundColor : '#000000'
        } ).appendTo( 'body' );

        var obj = $( '#send-form' );
        obj.css( {
            left : ( $( window ).width() - obj.width() ) / 2,
            top : $( document ).scrollTop() + ( $( window ).height() - obj.height() ) / 2
        } ).fadeIn();
    } );

    $( '#close' ).click( function () {
        $( '#send-form' ).fadeOut( 'slow', function () {
            $( '#windowBG' ).remove();
        } );
        return false;
    } );
    /*
     * 如果title已被聚焦并且填入数据，否则截取内容的前几个字作为标题。
     */
    var titleFocus=2;
    $('#title').blur(function(){
        if($(this).val()!=''){
            titleFocus=0;
        }else{
            titleFocus=1;
        }
    });
    $( 'textarea[name=content]' ).keyup( function () {
        var content = $(this).val();
        var lengths = check(content);  //调用check函数取得当前字数
        //当用户不对title作出更改时，同步内容的前15个字作为标题
        if(titleFocus &&(Math.ceil(lengths[0])<=20)) $('#title').val(content);
        //最大允许输入50个字
        if (lengths[0] >= 500) {
            $(this).val(content.substring(0, Math.ceil(lengths[1])));
        }

        var num = 500 - Math.ceil(lengths[0]);
        var msg = num < 0 ? 0 : num;
        //当前字数同步到显示提示
        $( '#font-num' ).html( msg );
    } );
    /*
     * 新窗口打开便签详情页
     */
    $('dd[class=content]').each(function(){
        $(this).click(function(){
            window.open($(this).attr('href'));
        });
    });
    /*
     * 异步发送
     */
    $('#send-btn').click(function(){
        var title=$('#title').val();
        var content=$('#content').val();
        if(title==''){
            $('#title').focus();
            msgBox.error('标题不能空...');
            return false;
        }
        if(content==''){
            $('#content').focus();
            msgBox.error('内容不能空...');
            return false;
        }
        msgBox.wait('发送中...');
        $.post('dodetail.jsp',{title:title,content:content},function(data){
            if(data.status){
            	msgBox.removeWait();
                msgBox.success(data.msg);
                $( '#close' ).click();
            }else{
                msgBox.removeWait();
                msgBox.error(data.msg);
            }
        },'json');
    });

});

/**
 * 元素拖拽
 * @param  obj		拖拽的对象
 * @param  element 	触发拖拽的对象
 */
function drag (obj, element) {
    var DX, DY, moving;

    element.mousedown(function (event) {
        obj.css( {
            zIndex : 1,
            opacity : 0.5,
            filter : 'Alpha(Opacity = 50)'
        } );

        DX = event.pageX - parseInt(obj.css('left'));	//鼠标距离事件源宽度
        DY = event.pageY - parseInt(obj.css('top'));	//鼠标距离事件源高度

        moving = true;	//记录拖拽状态
    });

    $(document).mousemove(function (event) {
        if (!moving) return;

        var OX = event.pageX, OY = event.pageY;	//移动时鼠标当前 X、Y 位置
        var	OW = obj.outerWidth(), OH = obj.outerHeight();	//拖拽对象宽、高
        var DW = $(window).width(), DH = $(window).height();  //页面宽、高

        var left, top;	//计算定位宽、高

        left = OX - DX < 0 ? 0 : OX - DX > DW - OW ? DW - OW : OX - DX;
        top = OY - DY < 0 ? 0 : OY - DY > DH - OH ? DH - OH : OY - DY;

        obj.css({
            'left' : left + 'px',
            'top' : top + 'px'
        });

    }).mouseup(function () {
        moving = false;	//鼠标抬起消取拖拽状态

        obj.css( {
            opacity : 1,
            filter : 'Alpha(Opacity = 100)'
        } );

    });

}
/**
 * 统计字数
 * @param  字符串
 * @return 数组[当前字数, 最大字数]
 */
function check (str) {
    var num = [0, 500];
    for (var i=0; i<str.length; i++) {
        //字符串不是中文时
        if (str.charCodeAt(i) >= 0 && str.charCodeAt(i) <= 255){
            num[0] = num[0] + 0.5;//当前字数增加0.5个
            num[1] = num[1] + 0.5;//最大输入字数增加0.5个
        } else {//字符串是中文时
            num[0]++;//当前字数增加1个
        }
    }
    return num;
}

//重新熏染dom布局
function load(h){
    $( '#main' ).height( $( window ).height() - $( '#top' ).height() + h);
    var paper = $( '.paper' );
    var FW = $( window ).width();
    var FH = $( '#main' ).height();
    for (var i = 0; i < paper.length; i++) {
        var obj = paper.eq(i);
        obj.css( {
            left : parseInt(Math.random() * (FW - obj.width())) + 'px',
            top : parseInt(Math.random() * (FH - obj.height())) + 'px'
        } );
        drag(obj, $( 'dt', obj ));
    }
}
